package com.smedi.ismedi.constructionproject.core.application.command;

import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * &#064;Author:  xulinjun
 * &#064;Date:  2021-6-24 17:22
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class ProjectPageQueryCommand {

    /**
     * ids
     */
    private List<Long> ids;

    /**
     * 组织id
     */
    private Long hrOrganizationId;

    /**
     * 组织id(范围)
     */
    private List<Long> hrOrganizationIds;

    /**
     * 项目状态
     */
    private String projectStatus;

    /**
     * 项目名称/项目编码/项目经理
     */
    private String codeOrManagerOrName;

    /**
     * 项目类别
     */
    private String projectCategory;

    /**
     * 合同工期 开始时间（大于等于）
     */
    private LocalDate actualDurationBeginGe;

    /**
     * 合同工期 结束时间（小于等于）
     */
    private LocalDate actualDurationEndLe;

    /**
     * 项目状态(范围)
     */
    private List<String> projectStatuses;

    /**
     * 视频监控类型
     */
    private String monitorType;

    /**
     * 视频监控类型(范围)
     */
    private List<String> monitorTypes;

    /**
     * 组织简称
     */
    private String organizationShortName;

    /**
     * 是否根据当前登录人过滤
     */
    private Boolean byAuthenticationFilter;

    /**
     * 是否有监控摄像
     */
    private Boolean hasVideoMonitor;

    /**
     * epc类型
     */
    private String epcType;

    /**
     * 每页行数（分页）
     */
    private long size;

    /**
     * 当前页（分页）
     */
    private long current;
}
